home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / ada / adaed-1.11 / adaed-1 / Adaed-1.11.0a / ifile.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-07  |  2.2 KB  |  64 lines

  1. /*
  2.  * Copyright (C) 1985-1992  New York University
  3.  * 
  4.  * This file is part of the Ada/Ed-C system.  See the Ada/Ed README file for
  5.  * warranty (none) and distribution info and also the GNU General Public
  6.  * License for more details.
  7.  
  8.  */
  9.  
  10. #ifndef _ifile_h
  11. #define _ifile_h
  12.  
  13. /* An IFILE is a FILE with a header block at the front consisting of
  14.  * the following as defined in the struct fh.
  15.  */
  16. struct fh {
  17.     char    fh_mode;    /* mode: 'r' or 'w' */
  18.     char    fh_type;    /* type: 'l', 'a' or 't' */
  19.     char    fh_version;    /* version level */
  20.     long    fh_slots;    /* offset from start of slots info */
  21.     long    fh_units_end;   /* offset from start of end of units info */
  22. #ifdef HI_LEVEL_IO
  23.     FILE    *fh_file;    /* associated file when open */
  24. #else
  25.     int        fh_file;
  26. #endif
  27.     int        fh_trace;     /* input trace */
  28.     int        fh_number;    /* number used to track open/close */
  29. };
  30.  
  31. #define IFILE struct fh 
  32.  
  33. #ifdef EXPORT
  34. long export_ifseek();
  35. #define ifseek(ifile,desc,offset,ptr)    export_ifseek(ifile,offset,ptr)
  36. #endif
  37.  
  38. #ifdef EXPORT
  39. #define putnum(ofile,desc,n)        export_put_num(ofile,n)
  40. #define putpos(ofile,desc,n)        export_put_pos(ofile,n)
  41. #define putstr(ofile,desc,s)        export_put_str(ofile,s)
  42. #define putchr(ofile,desc,n)        export_put_chr(ofile,n)
  43. #define putnod(ofile,desc,node)        export_put_nod(ofile,node)
  44. #define putnodref(ofile,desc,node)    export_put_nodref(ofile,node)
  45. #define putint(ofile,desc,n)        export_put_int(ofile,n)    
  46. #define putlong(ofile,desc,n)        export_put_long(ofile,n)
  47. #define putunt(ofile,desc,n)        export_put_unt(ofile,n)
  48. #define putuint(ofile,desc,uint)    export_put_uint(ofile,uint)
  49. #define putsym(ofile,desc,sym)        export_put_sym(ofile,sym)
  50. #define putsymref(ofile,desc,sym)    export_put_symref(ofile,sym)
  51. #define getint(ifile,desc)        export_get_int(ifile)
  52. #define getnum(ifile,desc)        export_get_num(ifile)
  53. #define getchr(ifile,desc)        export_get_chr(ifile)
  54. #define getlong(ifile,desc)        export_get_long(ifile)
  55. #define getstr(ifile,desc)        export_get_str(ifile)
  56. #define getnod(ifile,desc,node,unum)    export_get_nod(ifile,node,unum)
  57. #define getnodref(ifile,desc)        export_get_nodref(ifile)
  58. #define getuint(ifile,desc)        export_get_uint(ifile)
  59. #define getsym(ifile,desc)        export_get_sym(ifile)
  60. #define getsymref(ifile,desc)        export_get_symref(ifile)
  61. #endif
  62.  
  63. #endif /* _ifile_h */
  64.